Java中 Json、String、jsonObject、jsonArray格式之间互相转换 |
您所在的位置:网站首页 › jsonstring转map |
每次遇到json转换的问题吗,都是一顿百度,倒不如自己写一篇,后期遇到自己查看方便 目录 一、依赖 二、JSON各种转换 1.json格式的字符串 转 JSONObject 2.json格式的字符串 转 JSONArray 3. json格式的字符串 转 JSONObject 、JSONArray 4. json格式的字符串 转 实体类(javaBean) 5.map格式 转 JSONObject 6.实体类转json 7.实体类转成实体类 三、提取JsonObject(或 Map)中的 key-value 值 1.获取 JsonObject 的key 2.获取JsonObject 中 School的 key-value 值 一、依赖 com.alibaba fastjson 1.2.83 二、JSON各种转换 1.json格式的字符串 转 JSONObject { "name": "张三", "age": "18" } public static void testJson(String str) { JSONObject obj = JSON.parseObject(str); // 测试结果 System.out.println(obj); } 2.json格式的字符串 转 JSONArray [ { "name": "张三", "age": "18" }, { "name": "李四", "age": "19" } ] public static void testJson(String str) { JSONArray array = JSON.parseArray(str); // 测试结果 for(Object object : array){ JSONObject obj = (JSONObject)object; System.out.println(obj); } 3. json格式的字符串 转 JSONObject 、JSONArray [ "name":{ "name1": "张三", "name2": "李四" } ] public static void testJson(String str) { JSONObject jsonObj = JSON.parseObject(str); JSONArray array = JSON.parseArray(jsonObj.getString("name")); // 测试结果 for(Object object:array){ JSONObject obj = (JSONObject)object; System.out.println(obj); } } 4. json格式的字符串 转 实体类(javaBean) { "name": "张三", "age": "18" } // JaveBean public class Persion { private String name; private int age; //get、set方法自取 } public static void testJson(String str) { Persion persion = JSON.parseObject(str, new TypeReference(){}); // 测试结果 System.out.println("name:" + persion.getName() + " , " + "age:" + persion.getAge()); } 5.map格式 转 JSONObject { name = 张三, age = 18 } public static void testJson(String str) { Map map = new HashMap(); map.put("name","张三"); map.put("age","18"); JSONObject jsonObj=new JSONObject(map); // 测试结果 System.out.println(jsonObj.toString()); } 6.实体类转json //形参的Student 实体类自取 public static void testJson(Student student) { String str = JSONObject.toJSONString(student); // 测试结果 System.out.println(str); } 7.实体类转成实体类 //Student1 实体类自取 public static void testJson(Student1 student1) { String str = JSONObject.toJSONString(student); Student2 student2 = JSON.parseObject(str, new TypeReference(){}); }也可以直接使用这个 BeanUtils.copyProperties(oldBean,newBean); 三、提取JsonObject(或 Map)中的 key-value 值 //需要转换的数据 { "school": { "小学": "4", "初中": "2", "高中": "1" }, "hospital": { "一甲": "3", "二甲": "1" }, "supermarket": { "万达": "2", "万象": "1" } } 1.获取 JsonObject 的key public void testJson(JSONObject params){ Map map = params; Set keys = map.keySet(); for (String key : keys) { System.out.println(key+"-----"+map.get(key)); } } //输出: supermarket-----{万达=2, 万象=1} school-----{小学=4, 初中=2, 高中=1} hospital-----{一甲=3, 二甲=1} 2.获取JsonObject 中 School的 key-value 值 public void testJson(JSONObject params){ Map map = params; // {"小学":"4","初中":"2","高中":"1"} Map m1 = (Map) map.get("school"); Set keys = m1.keySet(); for (String key : keys) { System.out.println(key+" ----- "+m1.get(key)); } } //输出 小学 ----- 4 初中 ----- 2 高中 ----- 1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |